﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using LibreriaDB;
using System.Data.SqlClient;
namespace Solemne3
{
    public partial class Mantenedor : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
            this.panelLibreria.Visible = false;
            this.panelSucursal.Visible = false;
            ddElegir.AutoPostBack = true;
            sucCiudad.AutoPostBack = false;
            sucMatriz.AutoPostBack = false;
            
        }

        protected void ddElegir_SelectedIndexChanged(object sender, EventArgs e)
        {
            labelAviso.Text = "";

            if(ddElegir.Text.Equals("Libreria"))
            {
                panelSucursal.Visible= false;
                panelLibreria.Visible= true;

            }
            else
            {
                panelSucursal.Visible= true;
                panelLibreria.Visible= false;
            }
        }

        protected void libBoton_Click(object sender, EventArgs e)
        {
            int internacional = 0;
            if (libCheckBoxInternacional.Checked == true)
            {
                internacional = 1;
            }
            string msjError = "";
            if (libNombre.Text == null || libNombre.Text.Equals("") || libNombre.Text.Length > 20)
            {
                msjError += "El nombre esta vacio o es superior a los 20 caracteres//\n";
            }

            if (libCadena.Text == null || (libCadena.Text.Equals("") && internacional == 1 ) || libCadena.Text.Length > 20)
            {
                msjError += "La cadena esta vacia o es superior a los 20 caracteres//\n";

            }
            int comprados;
            if(!Int32.TryParse(libComprados.Text , out comprados))
            {
                msjError += "El dato de comprados debe ser entero//\n";
            }

            int vendidos;
            if (!(Int32.TryParse(libVendidos.Text, out vendidos) && vendidos <= comprados))
            {
                msjError += "El dato vendido no es un entero o es mayor a comprados//\n";
            }

            labelAviso.Text = msjError;

            if (msjError.Equals(""))
            {
//                string stringConexion = "Data Source=.\\SQLEXPRESS;AttachDbFilename=\"C:\\Users\\Pablo\\Documents\\Visual Studio 2008\\Projects\\Solemne3\\Solemne3\\App_Data\\BaseDatosSql3.mdf\";Integrated Security=True;User Instance=True";
                string stringConexion = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|BaseDatosSql3.mdf;Integrated Security=True;User Instance=True";

                LibreriaConnection conexion = new LibreriaConnection(stringConexion);
                SqlConnection sqlcon = conexion.Getconnection();

                SqlCommand command = sqlcon.CreateCommand();

                command.CommandText = "SELECT MAX(Id) FROM Libreria";

                sqlcon.Open();
                SqlDataReader datos = command.ExecuteReader();

                string result = "";
                while (datos.Read())
                {
                    result += datos[0];
                }

                int id = 1;

                if (!result.Equals(""))
                {
                    Int32.TryParse(result, out id);
                    id++;
                }
                    datos.Close();
                    sqlcon.Close();
                    sqlcon.Open();
                    command.CommandText = "INSERT INTO Libreria VALUES("+id+",'" + libNombre.Text + "'," + internacional + ",'" + libCadena.Text + "'," + comprados + "," + vendidos + ");";
                    command.ExecuteNonQuery();
                    sqlcon.Close();
                    labelAviso.Text = "Se ingreso correctamente la libreria "+libNombre.Text+", con id "+id;
            }
            else{ // Por si quisieramos manejar mas detalladamente el error
            
            }
        }

        protected void libCheckBoxInternacional_CheckedChanged(object sender, EventArgs e)
        {

        }

        protected void libCheckBoxInternacional_CheckedChanged1(object sender, EventArgs e)
        {

        }

        protected void sucBoton_Click(object sender, EventArgs e)
        {

            
            string msjError = "";
            
            int comprados;
            if (!Int32.TryParse(sucComprados.Text, out comprados))
            {
                msjError += "El dato de comprados debe ser entero//\n";
            }

            int vendidos;
            if (!(Int32.TryParse(sucVendidos.Text, out vendidos) && vendidos <= comprados))
            {
                msjError += "El dato vendido no es un entero o es mayor a comprados//\n";
            }

            labelAviso.Text = msjError;

            if (msjError.Equals(""))
            {
                //                string stringConexion = "Data Source=.\\SQLEXPRESS;AttachDbFilename=\"C:\\Users\\Pablo\\Documents\\Visual Studio 2008\\Projects\\Solemne3\\Solemne3\\App_Data\\BaseDatosSql3.mdf\";Integrated Security=True;User Instance=True";
                string stringConexion = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|BaseDatosSql3.mdf;Integrated Security=True;User Instance=True";

                LibreriaConnection conexion = new LibreriaConnection(stringConexion);
                SqlConnection sqlcon = conexion.Getconnection();

                SqlCommand command = sqlcon.CreateCommand();

                command.CommandText = "SELECT MAX(Id) FROM Sucursal";

                sqlcon.Open();
                SqlDataReader datos = command.ExecuteReader();

                string result = "";
                while (datos.Read())
                {
                    result += datos[0];
                }

                int id = 1;

                if (!result.Equals(""))
                {
                    Int32.TryParse(result, out id);
                    id++;
                }
                datos.Close();
                sqlcon.Close();
                sqlcon.Open();
                command.CommandText = "INSERT INTO Sucursal VALUES(" + id + "," + (sucMatriz.SelectedIndex+1) + "," + (sucCiudad.SelectedIndex+1) + "," + comprados + "," + vendidos + ");";
                command.ExecuteNonQuery();
                sqlcon.Close();
                labelAviso.Text = "Se ingreso correctamente la sucursal con id " + id;
            }
            else
            { // Por si quisieramos manejar mas detalladamente el error

            }



        }
    }
}
